package com.fare.taluo.vo.core;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.persistence.OneToMany;

import com.fare.taluo.base.ddd.domain.annontation.HBaseColumn;


public class FreightPriceEntityVO {
	/**
	 * 
	 */
	private static final long serialVersionUID = 4601633868236154958L;
	/**
	 * 运营商简称英文，如：MU
	 */
	private String carrierKey;

	/**
	 * 运营商简称中文，如：南航
	 */
	private String carrierName;

	/**
	 * 运营商全名，如：中国海南航空公司
	 */
	private String carrierFullName;

	/**
	 * 航班批次日期。如:2012-05-19,格式:yyyy-MM-dd
	 */
	private String flightDate;

	/**
	 * 航班起飞时间
	 */
	private Date startTime;

	/**
	 * 航班预计到达时间
	 */
	private Date endTime;

	/**
	 * 航班号，如： MU3540
	 */
	private String flightNo;

	/**
	 * 目的地三字码
	 */
	private String toCity;
	/**
	 * 目的地名称
	 */
	private String toCityName;
	/**
	 * 区域码
	 */
	private String areaCode;
	/**
	 * 区域名称
	 */
	private String areaName;
	/**
	 * 起飞地三字码
	 * 
	 */
	private String fromCity;
	/**
	 * 起飞地
	 * 
	 */
	private String fromCityName;

	/**
	 * 最低价格
	 */
	private Double lowerPrice;

	/**
	 * 最低价代理商名称
	 */
	private String agentName;

	/**
	 * 最高价格
	 */
	private Double highPrice;
	/**
	 * 附加的hbase应用值，用于生成rowkey,以便于应用根据该值统计
	 * <p>实际上使用下面的"抓取渠道ID"也可，但基于应用已完成部分功能，补充上该值
	 */
	private String attachHbaseKey;
	/**
	 * 抓取渠道ID
	 * */
	private Long grabChannelId;
	/**
	 * 抓取渠道名称
	 */
	private String grabChannel;
	/**
	 * 外键，对应表CRAWL_PF_SOURCE_DATA的rowkey
	 * 
	 */
	private String sourceRowkey;
	
	/**
	 * 飞机类型
	 */
	private String flightType = "";
	/**
	 * 创建时间
	 */
	private Date createTime = new Date();
	/**
	 * 代理商信息
	 */
	private List<AgentEntityVO> agents = new ArrayList<AgentEntityVO>();
	/**
	 * 仓位信息
	 */

	private List<CabinEntityVO> cabins = new ArrayList<CabinEntityVO>();
	/**
	 * 价格除了仓位外，还分多个种类，比如燃油费，附加税费
	 */
	private List<PriceEntityVO> prices = new ArrayList<PriceEntityVO>();
	
	/**
	 * 中转
	 */
	private List<TransitchangeEntityVO> transit = new ArrayList<TransitchangeEntityVO>();
	
	/**
	 * 返程
	 */
	private List<ReturnTripEntityVO> returnTrip = new ArrayList<ReturnTripEntityVO>();
	public String getCarrierKey() {
		return carrierKey;
	}

	public void setCarrierKey(String carrierKey) {
		this.carrierKey = carrierKey;
	}

	public String getCarrierName() {
		return carrierName;
	}

	public void setCarrierName(String carrierName) {
		this.carrierName = carrierName;
	}

	public String getCarrierFullName() {
		return carrierFullName;
	}

	public void setCarrierFullName(String carrierFullName) {
		this.carrierFullName = carrierFullName;
	}

	public String getFlightDate() {
		return flightDate;
	}

	public void setFlightDate(String flightDate) {
		this.flightDate = flightDate;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public String getFlightNo() {
		return flightNo;
	}

	public void setFlightNo(String flightNo) {
		this.flightNo = flightNo;
	}

	public String getToCity() {
		return toCity;
	}

	public void setToCity(String toCity) {
		this.toCity = toCity;
	}

	public String getToCityName() {
		return toCityName;
	}

	public void setToCityName(String toCityName) {
		this.toCityName = toCityName;
	}

	public String getAreaCode() {
		return areaCode;
	}

	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	public String getAreaName() {
		return areaName;
	}

	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}

	public String getFromCity() {
		return fromCity;
	}

	public void setFromCity(String fromCity) {
		this.fromCity = fromCity;
	}

	public String getFromCityName() {
		return fromCityName;
	}

	public void setFromCityName(String fromCityName) {
		this.fromCityName = fromCityName;
	}

	public Double getLowerPrice() {
		return lowerPrice;
	}

	public void setLowerPrice(Double lowerPrice) {
		this.lowerPrice = lowerPrice;
	}

	public String getAgentName() {
		return agentName;
	}

	public void setAgentName(String agentName) {
		this.agentName = agentName;
	}

	public Double getHighPrice() {
		return highPrice;
	}

	public void setHighPrice(Double highPrice) {
		this.highPrice = highPrice;
	}

	public String getAttachHbaseKey() {
		return attachHbaseKey;
	}

	public void setAttachHbaseKey(String attachHbaseKey) {
		this.attachHbaseKey = attachHbaseKey;
	}

	public Long getGrabChannelId() {
		return grabChannelId;
	}

	public void setGrabChannelId(Long grabChannelId) {
		this.grabChannelId = grabChannelId;
	}

	public String getGrabChannel() {
		return grabChannel;
	}

	public void setGrabChannel(String grabChannel) {
		this.grabChannel = grabChannel;
	}

	public String getSourceRowkey() {
		return sourceRowkey;
	}

	public void setSourceRowkey(String sourceRowkey) {
		this.sourceRowkey = sourceRowkey;
	}

	public String getFlightType() {
		return flightType;
	}

	public void setFlightType(String flightType) {
		this.flightType = flightType;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	
	

	public List<AgentEntityVO> getAgents() {
		return agents;
	}

	public void setAgents(List<AgentEntityVO> agents) {
		this.agents = agents;
	}

	public List<CabinEntityVO> getCabins() {
		return cabins;
	}

	public void setCabins(List<CabinEntityVO> cabins) {
		this.cabins = cabins;
	}

	public List<PriceEntityVO> getPrices() {
		return prices;
	}

	public void setPrices(List<PriceEntityVO> prices) {
		this.prices = prices;
	}

	public List<TransitchangeEntityVO> getTransit() {
		return transit;
	}

	public void setTransit(List<TransitchangeEntityVO> transit) {
		this.transit = transit;
	}

	public List<ReturnTripEntityVO> getReturnTrip() {
		return returnTrip;
	}

	public void setReturnTrip(List<ReturnTripEntityVO> returnTrip) {
		this.returnTrip = returnTrip;
	}
	
	
}
